package sdkruntimesclient

import (
	"context"
	"io/fs"

	"go.autokitteh.dev/autokitteh/sdk/sdkerrors"
	"go.autokitteh.dev/autokitteh/sdk/sdkservices"
	"go.autokitteh.dev/autokitteh/sdk/sdktypes"
)

type runtime struct {
	desc sdktypes.Runtime
}

func (r *runtime) Get() sdktypes.Runtime { return r.desc }

func (r *runtime) Build(
	ctx context.Context,
	fs fs.FS,
	path string,
	symbols []sdktypes.Symbol,
) (sdktypes.BuildArtifact, error) {
	return sdktypes.InvalidBuildArtifact, sdkerrors.ErrNotImplemented
}

func (r *runtime) Run(
	ctx context.Context,
	rid sdktypes.RunID, // generated by caller. guaranteed to be unique system-wide.
	sid sdktypes.SessionID,
	mainPath string,
	compiled map[string][]byte,
	values map[string]sdktypes.Value,
	durable bool,
	cbs *sdkservices.RunCallbacks,
) (sdkservices.Run, error) {
	return nil, sdkerrors.ErrNotImplemented
}
